package br.com.ca5.mbean;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import br.com.ca5.entity.MBeanBase;
import br.com.ca5.entity.Usuario;
import br.com.ca5.service.UsuarioService;

@Component
@Scope("session")
@Qualifier("adminUsuariosMBean")
public class AdminUsuariosMBean extends MBeanBase {

	private List<Usuario> usuarios;
	private UsuarioService usuarioService;
	private Usuario usuarioCrud;
	
	@Override
	public void onCreateMBean() {
		inicializaTela();
	}
	
	public void inicializaTela(){
		usuarios = usuarioService.findAll();
		usuarioCrud = new Usuario();
		find();
	}

	public void pesquisar() {
		anulaCamposVazios(usuarioCrud);
		usuarios = usuarioService.find(usuarioCrud);
	}	
	
	public void pesquisaTela(){
		inicializaTela();
	}
	
	public void salvar(){
		usuarioService.save(usuarioCrud);
		inicializaTela();
	}

	public List<Usuario> getUsuarios() {
		return usuarios;
	}

	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}

	public UsuarioService getUsuarioService() {
		return usuarioService;
	}
	
	public void deletar(){
		usuarioCrud = usuarioService.logar(usuarioCrud);
		usuarioService.delete(usuarioCrud);
		inicializaTela();
	}
	
	public void editar(){
		usuarioCrud = usuarioService.logar(usuarioCrud);
		super.editar();
	}

	@Autowired
	public void setUsuarioService(UsuarioService usuarioService) {
		this.usuarioService = usuarioService;
	}

	public Usuario getUsuarioCrud() {
		return usuarioCrud;
	}

	public void setUsuarioCrud(Usuario usuarioCrud) {
		this.usuarioCrud = usuarioCrud;
	}

}
